package wfb.wfbdbimpl;
import wfb.definitions.CityData;

import java.io.Serializable;

import javax.persistence.*;

//@Embeddable
@Entity
@Table( name = "dbprak13.WichtigeStaedte" )
public class Stadt extends CityData implements Serializable{

	private String land;
	private String stadt;
	private Integer hafenstadt;
	private Integer einwohner;
	private Double longi;
	private Double lati;
	
	public Stadt(){
		
	}
	
	public Stadt(String land, String stadt, Integer hafenstadt, Integer einwohner, 
			Double longitude, Double latitude) {
		this.land = land;
		this.stadt = stadt;
		super.setName(stadt);
		this.hafenstadt = hafenstadt;
		super.setSeaport((hafenstadt == null)? false : true);
		this.einwohner = einwohner;
		super.setInhabitants(einwohner.intValue());
		this.longi = longitude;
		super.setLongitude(longi.floatValue());
		this.lati = latitude;
		super.setLatitude(lati.floatValue());
	}

	@Id
	//@OneToOne(mappedBy = "hauptstadt")
	public String getLand() {
		return land;
	}

	public void setLand(String land) {
		this.land = land;
	}

	@Id
	public String getStadt() {
		return stadt;
	}

	public void setStadt(String stadt) {
		this.stadt = stadt;
		super.setName(stadt);
	}

	public Integer getHafenstadt() {
		return hafenstadt;
	}

	public void setHafenstadt(Integer hafenstadt) {
		this.hafenstadt = hafenstadt;
		super.setSeaport((hafenstadt == null)? false : true);
	}

	public Integer getEinwohner() {
		return einwohner;
	}

	public void setEinwohner(Integer einwohner) {
		this.einwohner = einwohner;
		super.setInhabitants((einwohner==null)?0:einwohner);
	}
	
	@Column(name="longitude")
	public Double getLongi() {
		return longi;
	}

	public void setLongi(Double longi) {
		this.longi = longi;
		super.setLongitude((longi == null)? 0 : longi.floatValue());
	}
	
	@Column(name="latitude")
	public Double getLati() {
		return lati;
	}

	public void setLati(Double lati) {
		this.lati = lati;
		super.setLatitude((lati == null)? 0 : lati.byteValue());
	}

	
}